window: Change behavior of gdk_window_begin_draw_frame()
authorBenjamin Otte <otte@redhat.com>
Sun, 20 Nov 2016 19:42:37 +0000 (20:42 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 5 Dec 2016 14:02:47 +0000 (15:02 +0100)
(1) Require a native window
(2) Create the drawing context before calling begin_paint().

gdk/gdkwindow.c

index f232f36d2370f3840c80ce575308f6266e5d33b6..86fb75609673729b34b8dc87922c4eefdd311d56 100644 (file)
@@ -2910,8 +2910,6 @@ gdk_window_begin_draw_frame (GdkWindow            *window,
       return NULL;
     }
 
-  gdk_window_begin_paint_internal (window, region);
-
   context = g_object_new (GDK_TYPE_DRAWING_CONTEXT,
                           "window", window,
                           "clip", region,
@@ -2920,6 +2918,8 @@ gdk_window_begin_draw_frame (GdkWindow            *window,
   /* Do not take a reference, to avoid creating cycles */
   window->drawing_context = context;
 
+  gdk_window_begin_paint_internal (window, region);
+
   return context;
 }